<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<link href="fceux.css" rel="stylesheet" type="text/css" />
<title>Press Release 2.1.4</title>
</head>

<body>
<div id="masthead">
	<span class="largerfont">FCEUX<br/></span>The all in one NES/Famicom/Dendy Emulator
</div>
<div id="top_nav">
  <a href="home.html">Home</a>
  <a href="download.html">Download</a>
  <a href="documentation.html">Documentation</a>
  <a href="version.html">Versions</a>
  <a href="contact.html">Contact</a>
  <a href="links.html">Links</a>
</div>
<div id="container">
	<div id="left_col">
		<script type="text/javascript"><!--
		google_ad_client = "pub-0764229755985190";
		/* 180x150, created 5/22/10 */
		google_ad_slot = "7648866201";
		google_ad_width = 180;
		google_ad_height = 150;
		//-->
	</script>
	<script type="text/javascript"
		src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
	</script>
</div>
<div id="page_content">
<h1>FCEUX 2.1.0 Release</h1>
<p>29 March 2009</p>
<p>The 2.1 is a major new release that incorporates new mappers and mapper fixes from FCEU-mm.  In addition it offers a multitude of bug fixes, and 
feature enhancements to both the Win32 and SDL ports.</p>

<h2>Major Bug / Crash Bug Fixes / New support</h2>
The latest mappers and mapper fixes from FCEU-mm.  Adds support for many new games such as Warioland II (Unl), Shu Qi Yu,  and Street Dance<br>
Fixed throttling problems that resulted on AMD Dualcore processors. (Caused FCEUX to appear to be in turbo mode)<br>
Fix major crash issue where NROM game (such as SMB) savestates were writing erroneous information if a non NROM game was loaded prior</br>
Fixed a bug that caused a new sav file to not get created when loading a 2nd battery backed game<br>
Fix Directory Overrides so to allow users to have no override.  Also fixes directory override reset bug</br>

<h3>Minor Bug fixes</h3>

Hotkeys - prevent "Hotkey explosion" where some laptop keys set off all unassigned hotkeys<br>
Timing - "disable throttling when sound is off" now only affects FCEUX when sound is off</br>
Clip Left and Right sides taken into account when drawing on screen (record/play/pause, lag 
	&amp; frame counters, messages, etc)<br>
Fixed bug where having sound off and Mute turbo caused chirps when toggling</br>
Video settings - fixed bug when both aspect ratio correction and special scaling 3x are set, video was getting resized incorrectly<br>
Auto-save cleanup -prevent loading an auto-save from previous session.  Added flags for enabling auto-save menu item</br>
Fixed issues related to big endian compiling<br>
Fix bug so that Escape can now be assigned as a hotkey</br>
Fixed bug in screenshot numbering that caused numbering to not reset when changing games<br></br>

<h2>SDL</h2>
Movie subtitle support and subtitle toggle hotkey added<br>
Added fcm to fm2 converter tool to SDL version</br>
Improved the SDL sound code; drastically improves quality of sound<br>
Savestate slots are now mappable</br>
Major updates to SDL documentation<br>
Added Shift+M for toggling automatic movie backups</br>
Added option to mute FCEUX for avi capturing, check the documentation for more details<br>
Added --noconfig command line option</br>
Frame Advance Skip Lag frames toggle implemented<br></br>

<h2>New Features Win32</h2>

Full screen mode fixed!  Also, Alt+Enter properly toggles full screen<br>
Individual control for sound channels! (See sound config for details)</br>
Undo/Redo Savestate/Loadstate features installed!  No more loss of data to unintentional presses.  (See getting started for details)<br>
Movie subtitles can now be included in .fm2 files.  See .fm2 documentation for details and Movie options for details on customizing</br>
Auto-backup for movie files.  (See movie options for details)<br>
A Ram change monitor for the Memory watch dialog. (see memwatch for details)</br>
Frame counter works even without a movie loaded<br>
AVI Directory Override option</br>

<h3>GUI / Menu Enhancements</h3>

A right-click context menu added!  Includes many commonly used items for a variety of situations<br>
Menu items that are hotkey mappable now show their current hotkey mapping</br>
Major overhaul to the Menu organization<br>
All FCEUX features are now accessible in the menu</br>
Alt Menu Shortcuts properly configured<br>
Menu items are properly grayed when not useable</br>
All movie related menu items moved to a Movie options dialog<br>
Removed hard-coded Accel keys and replaced with re-mappable hotkeys (Open and Close ROM)</br>
Drag &amp; Drop for .fm2 and .lua files<br>
Many new functions added to the context menu (See context menu for details)</br>
New Mappable Hotkeys: Open Cheats, Open ROM, Close ROM, Undo/Redo savestate, Toggle Movie Subtitles<br></br>

<h3>Lua</h3>

Added input.get() !  Returns the mouse info and all keyboard buttons pressed by the user<br>
Fixed joypad.set().  False now sets a button to off.  Nil does not affect the button at all (allowing the user to still control it)</br>
gui.text() Increased height (to approx. 7 lines)<br>
speedmode("turbo") now turns on turbo (which employs frame-skipping) rather than max speed</br>
memory.readbyte will recognize frozen addresses (cheats)<br>
movie.framecount() always return a number, even when no movie is playing (since the frame counter is implemented without a movie loaded)</br>
Added FCEU.poweron()<br>
Added FCEU.softreset()</br>
Added FCEU.lagged()<br>
Added FCEU.lagcount()</br>
Added FCEU.getreadonly()<br>
Added FCEU.setreadonly()</br>
Added FCEU.fceu_setrenderplanes(sprites, background)<br>
Added movie.active()</br>
Added movie.rerecordcount()<br>
Added movie.length()</br>
Added movie.getname()<br>
Added movie.playbeginning()</br>
Added -lua command line argment, loads a Lua script on startup<br>
Added zapper.read() - returns the zapper (mouse) data.  (Currently does return zapper data in movie playback)</br>
Added joypad.write and joypad.get for naming consistency<br>
Added rom.readbyte()</br>
Added rom.readbytesigned()<br></br>

<h3>Sound Config</h3>

Turning sound off disabled sound config controls<br>
Re-enabled sound buffer time slider control</br>

<h3>Hex Editor</h3>

Freezing ram addresses automatically updates the Cheats dialog if it is open<br>
Added prevention from freezing more than 256 addresses at once (doing so caused crash bugs)</br>
Dialog remembers window size<br>
Dump Rom and Dump PPU to file Dialogs use ROM to build default filename</br>
Maximize and minimize buttons added<br>
Help menu item added</br>

<h3>Memory Watch</h3>

Dialog now includes Ram change monitoring. (see memwatch for details)<br>
Dialog is now collapsible to 1 column</br>
No longer crashes when attempting to load an invalid file from the recent file menu<br>
Cancel option added to the save changes dialog</br>
Memory address values that are frozen by the debugger or hex editor are displayed in blue<br>
Fixed bug that caused dialog to "disappear" due to saving -32000 as its window position</br>
Save as dialog uses ROM name to build a default memory watch filename if there was no last used memory watch filename<br>
Drag and drop for .txt (memory watch) files</br>
Minor menu and hotkey fixes<br>
Watch values now compatible with custom windows dialog colors</br>

<h3>Debugger</h3>

Shows scanlines and PPU pixel values<br>
Shows scanlines even while in VBlank</br>
Added a Run Line button (runs 1 scanline per click)<br>
Run 128 Lines button (runs 128 scanlines per click)</br>
Number of active cheats listed<br>
Cheats list automatically updated if ram addresses are frozen in the hex editor</br>
Fixed bug that caused dialog to "disappear" due to saving -32000 as its window position<br>
Debugger now has a minimum valid size</br>
Added "Restore original window size" button<br></br>

<h3>PPU Viewer</h3>

Default refresh value set to 15<br>
Refresh value stored in the .cfg file</br>

<h3>Nametable Viewer</h3>

Default refresh value set to 15<br>
Refresh value stored in the .cfg file</br>

<h3>Trace Logger</h3>

Fixed bug where user can't scroll the log window while it is auto-updating<br>
Changed message about F2 pause (left over from FCEUXDSP) to display the current hotkey mapping</br>

<h3>Text Hooker</h3>

Saving a .tht file no longer crashes<br>
Dialog updates every frame</br>
Initialization error checking reinstalled<br>
Dialog remembers window position</br>
Fixed bug where canceling save as produces an error message<br>
Save As produces default filename based on the current ROM</br>

<h3>Message Log</h3>

Remembers X,Y position<br>
Resized width and height</br>
Allowed more lines of text to appear on the screen at once<br></br>

<h3>Metadata</h3>

Remembers window position<br>
Can be called from the context menu if a movie is loaded (see context menu for details)</br>

<h3>TASEdit</h3>

added help menu item
disabled menu items that are not currently implemented.

<h3>Turbo</h3>
Turbo now employs frame skip, greatly increasing its speed<br>
The mute turbo option completely bypasses sound processing (another big speed boost)</br>
Turbo now works with the Lazy wait for VBlank sync setting<br></br>
</div>

<div id="footer">
	<a href="home.html">Home</a> | <a href="download.html">Download</a> |
	<a href="documentation.html">Documentation</a> | <a href="version.html">
	Version History</a> | <a href="contact.html">Contact</a> | <a href="links.html">Links</a>
		<br/>We are in no way affiliated or endorsed by Nintendo or Nintendo of America. "Nintendo" is a registered trademark of Nintendo of America Inc.
		<br/>©2009 adelikat
</div>
</div>
</body>
</html>